package cn.zwx.admin.web.workflow.service;

import cn.zwx.admin.web.common.core.domain.PageQuery;
import cn.zwx.admin.web.common.core.page.TableDataInfo;
import cn.zwx.admin.web.workflow.domain.ProcessQuery;
import cn.zwx.admin.web.workflow.domain.vo.WfDeployVo;

import java.util.List;

/**
 * @author zhangwenxue
 */
public interface IWfDeployService {

    /**
     *  queryPageList
     * @param processQuery processQuery
     * @param pageQuery pageQuery
     * @return TableDataInfo
     */
    TableDataInfo<WfDeployVo> queryPageList(ProcessQuery processQuery, PageQuery pageQuery);
    /**
     *  queryPublishList
     * @param processKey processQuery
     * @param pageQuery pageQuery
     * @return TableDataInfo
     */
    TableDataInfo<WfDeployVo> queryPublishList(String processKey, PageQuery pageQuery);

    /**
     * updateState
     * @param definitionId definitionId
     * @param stateCode stateCode
     */
    void updateState(String definitionId, String stateCode);

    /**
     * queryBpmnXmlById
     * @param definitionId definitionId
     * @return String
     */
    String queryBpmnXmlById(String definitionId);

    /**
     *  deleteByIds
     * @param deployIds deployIds
     */
    void deleteByIds(List<String> deployIds);
}
